1. Technical Field
The preset invention relates to electronic queue management systems. It relates in particular to a method and system for managing multiple requests sent by multiple requesters and to service by multiple resources each managed by a queue.
2. Prior Art
Often in electronic systems, requests sent by p requesters must be queued to m resources, which may be busy. In such a case these requests must be held represented in queues.
In general, queue management systems as disclosed in European patent application EP 654 740 are programs which are written in any programming language available according to prior art techniques. In C language such queues can be mapped to some kind of data structures called xe2x80x98chain listsxe2x80x99.
A disadvantage of such an approach is, however, that when running such a program there is a central instance which has to reference long sequences of pointers before a particular pointer which is represented by some current request can be found. Thus, caused by that sequential nature of programming logic, such systems suffer from slow performance.
It is thus an object of the present invention to increase the access speed for accessing a particular queue element which has to be referenced by any request for a particular resource.
It is a further object of the present invention to provide for a hardware implementation of a queue management system in which such queues are implemented in a resource effective way, that allows for multiple adds and removes at a time.
In accordance with the principles of the invention there is provided an electronic queue management system for implementation on a chip. The queue management system comprises a plurality of primitive queue elements each including a register for a next-pointer and a register for a queue number. The next-pointer values may be selected via a register input and can be fed out via a register output. Such queue elements are associated with a respective entry in a central array which stores the data belonging to the actual requests. The separation of the data array and queue elements facilitates queue management as the data amounts are quite large compared to the small amount of data being required for the pure logic of the queue management system. Multiple add request and multiple remove request operations for different queue elements may be concurrently achieved in a single cycle.
The present invention is further directed to a computer comprising the electronic queue management system described above, as well as to an electronic circuit comprising said electronic queue management system.